package com.jf.cloud.service.sysmanager.entity;


import java.sql.Timestamp;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;


/**
 * <p>
 * 菜单
 * </p>
 *
 * @author LangK
 * @since 2017-12-04
 */
@Entity
@Table(name="sys_menu")
public class SysMenu extends BaseEntity {

    private static final long serialVersionUID = 1L;
    /**
	 * 主键
	 */
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "ROW_ID")
	private Long rowId;

	/**
	 * 上级菜单ID
	 */
	@Column(name = "PARENT_ID")
	private Long parentId;

	/**
	 * 菜单ID
	 */
	@Column(name = "MENU_CODE")
	private String menuCode;

	/**
	 * 菜单名称
	 */
	@Column(name = "MENU_NAME")
	private String menuName;

	/**
	 * 菜单或按钮描述
	 */
	@Column(name = "MENU_DESC")
	private String menuDesc;

	/**
	 * 链接路径
	 */
	@Column(name = "URL")
	private String url;

	/**
	 * 菜单图标
	 */
	@Column(name = "ICON")
	private String icon;

	/**
	 * 菜单或按钮标识
	 */
	@Column(name = "MENU_FLAG")
	private Integer menuFlag;

	/**
	 * 删除标记
	 */
	@Column(name = "DEL_FLAG")
	private Integer delFlag;

	/**
	 * 帮助文档
	 */
	@Column(name = "HELP_CONTENT")
	private String helpContent;

	/**
	 * 是否IP限制
	 */
	@Column(name = "IP_LIMIT_FLAG")
	private Integer ipLimitFlag;

	/**
	 * 是否叶子
	 */
	@Column(name = "LEAF_FLAG")
	private Integer leafFlag;

	/**
	 * 打开方式
	 */
	@Column(name = "OPEN_WAY")
	private String openWay;

	/**
	 * 排序编号
	 */
	@Column(name = "ORDER_NUM")
	private Integer orderNum;

	/**
	 * 可用标志
	 */
	@Column(name = "USE_FLAG")
	private Integer useFlag;

	/**
     * 创建人ID
     */
	@Column(name = "CREATE_ID")
	private Long createId;
	
    /**
     * 创建人名称
     */
	@Column(name = "CREATE_ACCOUNT")
	private String createAccount;
	
    /**
     * 创建时间
     */
	@Column(name = "CREATE_TIME")
	private Timestamp createTime;
	
    /**
     * 操作人ID
     */
	@Column(name = "OPT_ID")
	private Long optId;
	
    /**
     * 操作人帐号
     */
	@Column(name = "OPT_ACCOUNT")
	private String optAccount;
	
    /**
     * 操作时间
     */
	@Column(name = "OPT_TIME")
	private Timestamp optTime;

	/**
	 * 获取主键
	 * 
	 * @return 主键
	 */
	public Long getRowId() {
		return rowId;
	}

	/**
	 * 设置主键
	 * 
	 * @param rowId 主键
	 */
	public void setRowId(Long rowId) {
		this.rowId = rowId;
	}

	/**
	 * 获取上级菜单ID
	 * 
	 * @return 上级菜单ID
	 */
	public Long getParentId() {
		return parentId;
	}

	/**
	 * 设置上级菜单ID
	 * 
	 * @param parentId 上级菜单ID
	 */
	public void setParentId(Long parentId) {
		this.parentId = parentId;
	}

	/**
	 * 获取菜单ID
	 * 
	 * @return 菜单ID
	 */
	public String getMenuCode() {
		return menuCode;
	}

	/**
	 * 设置菜单ID
	 * 
	 * @param menuCode 菜单ID
	 */
	public void setMenuCode(String menuCode) {
		this.menuCode = menuCode;
	}

	/**
	 * 获取菜单名称
	 * 
	 * @return 菜单名称
	 */
	public String getMenuName() {
		return menuName;
	}

	/**
	 * 设置菜单名称
	 * 
	 * @param menuName 菜单名称
	 */
	public void setMenuName(String menuName) {
		this.menuName = menuName;
	}

	/**
	 * 获取菜单或按钮描述
	 * 
	 * @return 菜单或按钮描述
	 */
	public String getMenuDesc() {
		return menuDesc;
	}

	/**
	 * 设置菜单或按钮描述
	 * 
	 * @param menuDesc 菜单或按钮描述
	 */
	public void setMenuDesc(String menuDesc) {
		this.menuDesc = menuDesc;
	}

	/**
	 * 获取链接路径
	 * 
	 * @return 链接路径
	 */
	public String getUrl() {
		return url;
	}

	/**
	 * 设置链接路径
	 * 
	 * @param url 链接路径
	 */
	public void setUrl(String url) {
		this.url = url;
	}

	/**
	 * 获取菜单图标
	 * 
	 * @return 菜单图标
	 */
	public String getIcon() {
		return icon;
	}

	/**
	 * 设置菜单图标
	 * 
	 * @param icon 菜单图标
	 */
	public void setIcon(String icon) {
		this.icon = icon;
	}

	/**
	 * 获取菜单或按钮标识
	 * 
	 * @return 菜单或按钮标识
	 */
	public Integer getMenuFlag() {
		return menuFlag;
	}

	/**
	 * 设置菜单或按钮标识
	 * 
	 * @param menuFlag 菜单或按钮标识
	 */
	public void setMenuFlag(Integer menuFlag) {
		this.menuFlag = menuFlag;
	}

	/**
	 * 获取删除标记
	 * 
	 * @return 删除标记
	 */
	public Integer getDelFlag() {
		return delFlag;
	}

	/**
	 * 设置删除标记
	 * 
	 * @param delFlag 删除标记
	 */
	public void setDelFlag(Integer delFlag) {
		this.delFlag = delFlag;
	}

	/**
	 * 获取帮助文档
	 * 
	 * @return 帮助文档
	 */
	public String getHelpContent() {
		return helpContent;
	}

	/**
	 * 设置帮助文档
	 * 
	 * @param helpContent 帮助文档
	 */
	public void setHelpContent(String helpContent) {
		this.helpContent = helpContent;
	}

	/**
	 * 获取是否IP限制
	 * 
	 * @return 是否IP限制
	 */
	public Integer getIpLimitFlag() {
		return ipLimitFlag;
	}

	/**
	 * 设置是否IP限制
	 * 
	 * @param ipLimitFlag 是否IP限制
	 */
	public void setIpLimitFlag(Integer ipLimitFlag) {
		this.ipLimitFlag = ipLimitFlag;
	}

	/**
	 * 获取是否叶子
	 * 
	 * @return 是否叶子
	 */
	public Integer getLeafFlag() {
		return leafFlag;
	}

	/**
	 * 设置是否叶子
	 * 
	 * @param leafFlag 是否叶子
	 */
	public void setLeafFlag(Integer leafFlag) {
		this.leafFlag = leafFlag;
	}

	/**
	 * 获取打开方式
	 * 
	 * @return 打开方式
	 */
	public String getOpenWay() {
		return openWay;
	}

	/**
	 * 设置打开方式
	 * 
	 * @param openWay 打开方式
	 */
	public void setOpenWay(String openWay) {
		this.openWay = openWay;
	}

	/**
	 * 获取排序编号
	 * 
	 * @return 排序编号
	 */
	public Integer getOrderNum() {
		return orderNum;
	}

	/**
	 * 设置排序编号
	 * 
	 * @param orderNum 排序编号
	 */
	public void setOrderNum(Integer orderNum) {
		this.orderNum = orderNum;
	}

	/**
	 * 获取可用标志
	 * 
	 * @return 可用标志
	 */
	public Integer getUseFlag() {
		return useFlag;
	}

	/**
	 * 设置可用标志
	 * 
	 * @param useFlag 可用标志
	 */
	public void setUseFlag(Integer useFlag) {
		this.useFlag = useFlag;
	}

	public Long getCreateId() {
		return createId;
	}

	public void setCreateId(Long createId) {
		this.createId = createId;
	}

	public String getCreateAccount() {
		return createAccount;
	}

	public void setCreateAccount(String createAccount) {
		this.createAccount = createAccount;
	}

	public String getCreateTime() {
		return createTime + "";
	}
	public void setCreateTime(Timestamp createTime) {
		this.createTime = createTime;
	}

	public Long getOptId() {
		return optId;
	}

	public void setOptId(Long optId) {
		this.optId = optId;
	}

	public String getOptAccount() {
		return optAccount;
	}

	public void setOptAccount(String optAccount) {
		this.optAccount = optAccount;
	}

	public String getOptTime() {
		return optTime + "";
	}

	public void setOptTime(Timestamp optTime) {
		this.optTime = optTime;
	}

	@Override
	public String toString() {
		return "SysMenu{" +
			", parentId=" + parentId +
			", menuCode=" + menuCode +
			", menuName=" + menuName +
			", menuDesc=" + menuDesc +
			", url=" + url +
			", menuFlag=" + menuFlag +
			", ipLimitFlag=" + ipLimitFlag +
			", leafFlag=" + leafFlag +
			", openWay=" + openWay +
			", orderNum=" + orderNum +
			", useFlag=" + useFlag +
			", helpContent=" + helpContent +
			"}";
	}
}
